//
//  QKHomeTableViewController.m
//  QKWeibo-OC
//
//  Created by iMac_Kurt on 16/8/11.
//  Copyright © 2016年 Kurt_Qi. All rights reserved.
//

#import "QKHomeTableViewController.h"
#import "QKVisitorView.h"
#import "QKUserAccountViewModel.h"
#import "NetworkTool.h"
#import "QKStatus.h"
#import <SVProgressHUD.h>
#import "QKStatusListViewModel.h"
#import "QKStatusViewModel.h"
#import "QKHomeTableViewCell.h"

static NSString *QKHomeTableViewCellId = @"QKHomeTableViewCellId";

@interface QKHomeTableViewController ()
//
@property (nonatomic, strong) QKStatusListViewModel *statusListViewModel;

@end

@implementation QKHomeTableViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //
    if (![QKUserAccountViewModel sharedUserAccount].userLogon) {
        [self.visitorView setupInfoWithImageName:@"" messageText:@""];
        return;
    }
    
    [self prepareTableView];
    
    [self loadStatusData];
    
}

/// 设置tableview
- (void)prepareTableView {
    
    // 设置行高
    // 预估行高
    self.tableView.estimatedRowHeight = 200;
    // 自动计算行高
    self.tableView.rowHeight = UITableViewAutomaticDimension;
    // 取出分割线
    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    // 注册cell
    [self.tableView registerClass:[QKHomeTableViewCell class] forCellReuseIdentifier:QKHomeTableViewCellId];
}

- (void)loadStatusData {
    [self.statusListViewModel loadStatusList:^(BOOL success) {
        if (success == NO) {
            NSLog(@"出错了");
            [SVProgressHUD showInfoWithStatus:@"数据加载错误，请稍后再试"];
            return;
        }
        
        NSLog(@"%@", self.statusListViewModel.statusList);
        
        // 更新表格
        [self.tableView reloadData];
        
    }];
    
}

#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return self.statusListViewModel.statusList.count;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
    QKHomeTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:QKHomeTableViewCellId forIndexPath:indexPath];
    
    // 获取当前cell的微博数据模型
    QKStatusViewModel *statusViewModel = self.statusListViewModel.statusList[indexPath.row];
    
    NSLog(@"%@", statusViewModel.status);
    // 设置cell数据
    cell.statusViewModel = statusViewModel;
    
    return cell;
}

#pragma mark - 懒加载
- (QKStatusListViewModel *)statusListViewModel {
    if (_statusListViewModel == nil) {
        _statusListViewModel = [[QKStatusListViewModel alloc] init];
    }
    return _statusListViewModel;
}
@end
